﻿$(function () {

    $("#accordion").accordion({
        collapsible: true,
        heightStyle: "content",
        active: 0,
        beforeActivate: function (event, ui) {
            var newIndex = $(ui.newHeader).index('h3');
            var newId = $(ui.newHeader).attr('id');
            switch (newId) {
                case "anexos":
                    //buscarAnexos();
                    break;
                case "fiscalizadores":
                    buscarFiscalizadores();
                    break;
                case "actividades":
                    buscarActividades();
                    break;
                case "pagos":
                    buscarPagos();
                    break;
                case "prorrogas":
                    buscarProrrogas();
                    break;
                case "garantias":
                    buscarGarantias();
                    break;
                default:
                    break;
            }

        }
    });

    $("#btnResultados").button();

    $("#linkCancelAddContrato").button();
    $("mainTitle").html("CONTRATOS");

    $("#txtFecha").datepicker({
        changeMonth: true,
        changeYear: true,
        dateFormat: "yy-mm-dd"
    });

    $("#lstBuscarCategoriaArchivo").change(function (event) {
        buscarAnexos();
    });

    $('#txtContrato').keyup(function() {
        var id = obtenerId(this.value);
    });

    $("#txtContrato").change(function (event) {
        var id = obtenerId(this.value);
        
    });

    function obtenerId(contrato){
        //Ejemplo: GGE-GAJ-01-0116-2011        
        var arr = contrato.split('-');
        if(arr.length >= 3 ){
            var id = arr[4].toString() + arr[3].toString();
            $("#txtId").val(id);
        }
        else{
            $("#txtId").val("");
        }
        
    }

    $("#btnGuardar").click(function (event) {
        event.preventDefault();
        agregar();
    });

    $("#btnResultados").click(function (event) {
        event.preventDefault();
        buscar();
    });

    $("#btnLimpiar").click(function (event) {
        event.preventDefault();
        limpiarFiltros();
    });

    $("#btnNuevo").click(function (event) {
        event.preventDefault();
        window.location.href = basePath + "/Contratos/AgregarContrato?guid=" + guid_menu;
    });

    $("#btnRegresar").click(function (event) {
        event.preventDefault();
        window.location.href = basePath + "/Contratos/ListadoContratos?guid=" + guid_menu;
    });

    $("#btnNuevoFiscalizador").click(function (event) {
        event.preventDefault();
        $("#dialog-fiscalizadores").dialog('option', 'title', 'EDICION DE FISCALIZADOR');
        $("#dialog-fiscalizadores").dialog("open");
    });

    $("#btnNuevaActividad").click(function (event) {
        event.preventDefault();
        $("#dialog-actividades").dialog('option', 'title', 'EDICION DE ACTIVIDAD');
        $("#dialog-actividades").dialog("open");
    });

    $("#btnNuevoPago").click(function (event) {
        event.preventDefault();
        $("#dialog-pagos").dialog('option', 'title', 'EDICION DE PAGO');
        $("#dialog-pagos").dialog("open");
    });

    $("#btnNuevaProrroga").click(function (event) {
        event.preventDefault();
        $("#dialog-prorrogas").dialog('option', 'title', 'EDICION DE PRORROGA');
        $("#dialog-prorrogas").dialog("open");
    });

    $("#btnNuevaGarantia").click(function (event) {
        event.preventDefault();
        $("#dialog-garantias").dialog('option', 'title', 'EDICION DE GARANTIA');
        $("#dialog-garantias").dialog("open");
    });

    $("#btnNuevoArchivo").click(function (event) {
        event.preventDefault();
        $("#dialog-file").dialog('option', 'title', 'SUBIR ARCHIVO/ANEXO');
        $("#dialog-file").dialog("open");
    });

    $("#lstFiscalTipo").change(function (event) {
        event.preventDefault();
        var value = this.value;
        if (value == 2) {
            $("#infoFiscalInt").hide();
            $("#infoFiscalExt").show();
        }
        else if (value == 1) {
            $("#infoFiscalInt").show();
            $("#infoFiscalExt").hide();
        }
        else {
            $("#infoFiscalInt").hide();
            $("#infoFiscalExt").hide();
        }
    });

    $("#docArchivo").uploadify({
        'height': 22,
        'method': 'post',
        'debug'    : false,
        'fileSizeLimit': '60000KB',
        'formData': { 'contrato_value': $("#txtContrato").val() },
        'swf': basePath + '/Media/swf/uploadify.swf',
        'uploader': basePath + '/Utilities/Upload.ashx',
        'buttonText': 'Seleccione',
        'width': 100,
        'fileObjName': 'file',
        'fileTypeDesc': 'Archivos PDF/ Microsoft Project',
        'fileTypeExts': '*.pdf; *.mpp;', //'*.jpg;*.jpeg;*.gif;*.png',
        'multi': false,
        'auto': false,
        'uploadLimit': 4,
        'onUploadError' : function(file, errorCode, errorMsg, errorString) {
            alert('El archivo ' + file.name + ' no se pudo subir: ' + errorString);
        },
        'onSelect' : function(file) {
            $("#btnSubirArchivo").show();

        },
        'onCancel' : function(file) {
            $("#btnSubirArchivo").hide();
        },
        'onUploadStart': function (file) {
            var categoria = $("#lstCategoriaArchivo").val();
            var extension = "";
            var descripcion = $("#txtDescArchivo").val();
            switch (categoria)
            { 
                case "PROYECTO":
                    extension = "mpp";
                    break;
                default:
                    extension = "pdf";
                    break;
            }

            $('#docArchivo').uploadify('settings', 'formData', { 'contrato_value': $("#txtContrato").val(), 'tipo_value': categoria, 'extension_value': extension, 'guid_value': '', 'descripcion_value' : descripcion });
        },
        'onQueueComplete': function (queueData) {
            //window.location.href = basePath + "/Contratos/AgregarContrato?codcontrato=" + $("#txtContrato").val();
            $("#btnSubirArchivo").hide();
            $("#dialog-file").dialog("close");
            buscarAnexos();
        }
    });


    $("#btnSubirArchivo").click(function (event) {
        event.preventDefault();
        $('#docArchivo').uploadify('upload', '*');
    });

    $("#btnLimpiaGerencia").click(function (event) {
        event.preventDefault();
        $("#txtIdGerencia").val("");
        $("#txtGerencia").val("");
    });

    $("#btnBuscarGerencia").click(function (event) {
        event.preventDefault();
        $("#txtBuscarLista").val("");
        $("#listado").html("");
        listar("Gerencias", "", "txtIdGerencia", "txtGerencia");
        $("#dialog-list").dialog('option', 'title', 'Gerencias');
        $("#dialog-list").dialog("open");
    });

    $("#btnLimpiaAdmin").click(function (event) {
        event.preventDefault();
        $("#txtCodAdministrador").val("");
        $("#txtAdministrador").val("");
    });

    $("#btnBuscarAdmin").click(function (event) {
        event.preventDefault();
        $("#txtBuscarLista").val("");
        $("#listado").html("");
        //listar("Personal", "", "txtCodAdministrador", "txtAdministrador");
        $("#dialog-list").dialog('option', 'title', 'Administrador');
        $("#dialog-list").dialog("open");
    });

    $("#btnLimpiaDelegado").click(function (event) {
        event.preventDefault();
        $("#txtCodDelegado").val("");
        $("#txtDelegadoTecnico").val("");
    });

    $("#btnBuscarDelegado").click(function (event) {
        event.preventDefault();
        $("#txtBuscarLista").val("");
        $("#listado").html("");
        //listar("Personal", "", "txtCodDelegado", "txtDelegadoTecnico");
        $("#dialog-list").dialog('option', 'title', 'Delegado');
        $("#dialog-list").dialog("open");
    });

    $("#btnLimpiaFiscal").click(function (event) {
        event.preventDefault();
        $("#txtCodFiscalizador").val("");
        $("#txtFiscalizador").val("");
    });

    $("#btnBuscarFiscal").click(function (event) {
        event.preventDefault();
        $("#txtBuscarLista").val("");
        $("#listado").html("");
        //listar("Personal", "", "txtCodFiscalizador", "txtFiscalizador");
        $("#dialog-list").dialog('option', 'title', 'Fiscalizador');
        $("#dialog-list").dialog("open");
    });

    $("#btnLimpiaContratista").click(function (event) {
        event.preventDefault();
        $("#txtIdContratista").val("");
        $("#txtContratista").val("");
    });

    $("#btnBuscarContratista").click(function (event) {
        event.preventDefault();
        $("#txtBuscarLista").val("");
        $("#listado").html("");
        //listar("CGWEB", "", "txtIdContratista", "txtContratista");
        $("#dialog-list").dialog('option', 'title', 'Contratista');
        $("#dialog-list").dialog("open");
    });

    $("#btnLimpiaAseguradora").click(function (event) {
        event.preventDefault();
        $("#txtIdAseguradora").val("");
        $("#txtAseguradora").val("");
    });

    $("#btnBuscarAseguradora").click(function (event) {
        event.preventDefault();
        $("#txtBuscarLista").val("");
        $("#listado").html("");
        //listar("CGWEB", "", "txtIdAseguradora", "txtAseguradora");
        $("#dialog-list").dialog('option', 'title', 'Aseguradora');
        $("#dialog-list").dialog("open");
    });

    $("#txtBuscarLista").keypress(function (event) {
        if (event.which == 13) {
            event.preventDefault();
            $("#btnBuscarLista").trigger("click");
        }
    });

    $("#btnBuscarLista").click(function (event) {
        event.preventDefault();
        var title = $("#dialog-list").dialog("option", "title");
        switch (title) {
            case "Gerencias":
                listar("Gerencias", "", "txtIdGerencia", "txtGerencia");
                break;
            case "Administrador":
                listar("Personal", "", "txtCodAdministrador", "txtAdministrador");
                break;
            case "Delegado":
                listar("Personal", "", "txtCodDelegado", "txtDelegadoTecnico");
                break;
            case "Fiscalizador":
                listar("Personal", "", "txtCodFiscalizador", "txtFiscalizador");
                break;
            case "Contratista":
                listar("CGWEB", "TE", "txtIdContratista", "txtContratista");
                break;
            case "Aseguradora":
                listar("CGWEB", "CA", "txtIdAseguradora", "txtAseguradora");
                break;
            case "Tipo Garantia":
                listar("CGWEB", "CB", "txtIdGarantia", "txtTipoGarantia");
                break;
            default:
                break;
        }
        return;
    });

    $("#dialog-fiscalizadores").dialog({
        autoOpen: false,
        height: 400,
        width: 550,
        modal: true,
        buttons:
        {
            "Guardar": function () {
                guardarFiscalizador();
            },
            "Cancelar": function () {
                $("#load_fiscal").html("");
                $(this).dialog("close");
            }
        },
        close: function () {

        }
    });

    $("#dialog-actividades").dialog({
        autoOpen: false,
        height: 400,
        width: 550,
        modal: true,
        buttons:
        {
            "Guardar": function () {
                guardarActividad();
            },
            "Cancelar": function () {
                $("#load_act").html("");
                $(this).dialog("close");
            }
        },
        close: function () {

        }
    });

    $("#dialog-pagos").dialog({
        autoOpen: false,
        height: 400,
        width: 550,
        modal: true,
        buttons:
        {
            "Guardar": function () {
                guardarPago();
            },
            "Cancelar": function () {
                $("#load_pago").html("");
                $(this).dialog("close");
            }
        },
        close: function () {

        }
    });

    $("#dialog-prorrogas").dialog({
        autoOpen: false,
        height: 400,
        width: 550,
        modal: true,
        buttons:
        {
            "Guardar": function () {
                guardarProrroga();
            },
            "Cancelar": function () {
                $("#load_prorroga").html("");
                $(this).dialog("close");
            }
        },
        close: function () {

        }
    });

    $("#dialog-garantias").dialog({
        autoOpen: false,
        height: 400,
        width: 550,
        modal: true,
        buttons:
        {
            "Guardar": function () {
                guardarGarantia();
            },
            "Cancelar": function () {
                $("#load_garantia").html("");
                $(this).dialog("close");
            }
        },
        close: function () {

        }
    });

    $("#dialog-file").dialog({
        autoOpen: false,
        height: 400,
        width: 550,
        modal: true,
        buttons:
        {
            "Cancelar": function () {
                $(this).dialog("close");
            }
        },
        close: function () {

        }
    });

    function listar(opcion, catalogo_nombre, txtIdObj, txtDescObj) {
        var parametros = {
            "opcion": opcion,
            "catalogo_nombre": catalogo_nombre,
            "filtro": $("#txtBuscarLista").val().toUpperCase()
        };
        $("#listado").html("");
        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/ListarCatalogo",
            type: "POST",
            async: false,
            beforeSend: function () {
                $("#load_list").html("Buscando ... <img src='" + basePath + "/Images/16_progress.gif' style='vertical-align: middle;'>");
            },
            success: function (response) {
                //alert(response);
                $("#load_list").html("");
                $("#listado").html(response);
                $(".btItem").click(function (event) {
                    var id = this.id;
                    $("#" + txtIdObj).val(id);
                    $("#" + txtDescObj).val($("#" + id).html());
                    $("#listado").html("");
                    $("#txtBuscarLista").val("");
                    $("#dialog-list").dialog("close");
                });
            }
        });
    }

    function llenarCombo(opcion, catalogo_nombre, IdObj) {
        var parametros = {
            "opcion": opcion,
            "catalogo_nombre": catalogo_nombre,
            "filtro": ""
        };
        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/ListarCatalogo",
            type: "POST",
            async: false,
            beforeSend: function () {
                $("#mensaje_container").show();
                $("#mensaje").html("<img src='" + basePath + "/Images/16_progress.gif'> Preparando formulario ...");
            },
            success: function (response) {
                //alert(response);
                $("#mensaje_container").hide();
                $("#mensaje").html("");
                $("#" + IdObj).html(response);
            }
        });
    }

    function checkDecimal(value) {
        var decimal = /^[-+]?[0-9]+\.[0-9]+$/;
        var decimal2 = /^[-+]?[0-9]+$/;
        if (value.match(decimal) || value.match(decimal2)) {
            return true;
        }
        else {
            $("#mensaje_container").show();
            $("#mensaje").html("El monto ingresado no es correcto. Por favor verifique las cifras e intente de nuevo.");
            return false;
        }
    }

    function agregar() {
        var contrato = $("#txtContrato").val().toUpperCase();
        var id = $("#txtId").val();
        var titulo = $("#txtTitulo").val().toUpperCase();
        var descripcion = $("#txtDescripcion").val().toUpperCase();
        var proceso = $("#txtProceso").val().toUpperCase();
        var tipo = $("#lstTipo").val();
        var monto = $("#txtMonto").val();
        var es_contratista = $("#chkEsContratista").is(':checked') ? '1' : '0';
        var contratista = $("#txtIdContratista").val();
        var contratista_representante = $("#txtRepContratista").val().toUpperCase();
        var id_gerencia = $("#txtIdGerencia").val();
        var administrador = $("#txtCodAdministrador").val();
        var delegado = $("#txtCodDelegado").val();
        var fecha_suscripcion = $("#txtFechaSuscripcion").val();
        var fecha_inicio = $("#txtFechaInicio").val();
        var fecha_fin = $("#txtFechaFin").val();
        var fecha_culminacion = $("#txtFechaCulminacion").val();
        var resolucion = $("#txtResolucion").val().toUpperCase();
        var fecha_resolucion = $("#txtFechaResolucion").val();
        var observacion = $("#txtObservacion").val().toUpperCase();
        var id_estado = $("#lstEstado").val();
        var usuario_ing = codusuario;

        if (checkDecimal(monto) == false) {
            $("#mensaje_container").show();
            $("#mensaje").html("La cantidad asignada al monto no tiene el formato correcto.");
            return 0;
        }

        if (contrato == '') {
            $("#mensaje_container").show();
            $("#mensaje").html("Debe ingresar un código de contrato.");
            return 0;
        }

        if (id == '') {
            $("#mensaje_container").show();
            $("#mensaje").html("Debe ingresar un código de contrato válido. La referencia ingresada no cumple con los requisitos.");
            return 0;
        }

        if (titulo == '') {
            $("#mensaje_container").show();
            $("#mensaje").html("Debe ingresar un título para el contrato.");
            return 0;
        }

        var parametros = {
            "contrato": contrato,
            "id": id,
            "titulo": titulo,
            "descripcion": descripcion.substring(0, 200),
            "proceso": proceso,
            "tipo": tipo,
            "monto": monto,
            "es_contratista": es_contratista,
            "contratista": contratista,
            "contratista_representante": contratista_representante,
            "id_gerencia": id_gerencia,
            "administrador": administrador,
            "delegado": delegado,
            "fecha_suscripcion": fecha_suscripcion,
            "fecha_inicio": fecha_inicio,
            "fecha_fin": fecha_fin,
            "fecha_culminacion": fecha_culminacion,
            "resolucion": resolucion,
            "fecha_resolucion": fecha_resolucion,
            "observacion": observacion.substring(0, 200),
            "id_estado": id_estado,
            "usuario_ing": usuario_ing
        };

        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/AgregarContratoAction",
            type: "POST",
            async: false,
            beforeSend: function () {
                $("#mensaje_container").show();
                $("#mensaje").html("<img src='" + basePath + "/Images/16_progress.gif'> Guardando ...");
            },
            success: function (response) {
                $("#mensaje_container").show();
                $("#mensaje").html("Su registro ha sido procesado con éxito.");
                 window.location.href = basePath + "/Contratos/AgregarContrato?codcontrato=" + contrato + "&guid=" + guid_menu;
            }
        });
    }

    function guardarFiscalizador() {

        var contrato = $("#txtContrato").val().toUpperCase();
        var tipo = $("#lstFiscalTipo").val();
        var codigo = "";
        var nombre = "";
        switch (tipo) {
            case "1": //INTERNO
                codigo = $("#txtCodFiscalizador").val();
                nombre = $("#txtFiscalizador").val();
                break;
            case "2": //EXTERNO
                codigo = $("#txtIdFiscalExt").val();
                nombre = $("#txtFiscalExt").val();
                break;
            default:
                return 0;
        }

        if (codigo == '' || nombre == '' || tipo == '0') {
            $("#load_fiscal").html("Por favor ingrese todos los datos del fiscalizador.");
            return 0;
        }
        $("#load_fiscal").html("");
        var parametros = {
            "contrato": contrato,
            "tipo": tipo,
            "codigo": codigo,
            "nombre": nombre.substring(0, 100)
        };

        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/GuardarFiscalizadorAction",
            type: "POST",
            async: false,
            beforeSend: function () {
                $("#load_fiscal").html("<img src='" + basePath + "/Images/16_progress.gif'> Guardando ...");
            },
            success: function (response) {
                $("#load_fiscal").html("");
                buscarFiscalizadores();
                $("#dialog-fiscalizadores").dialog("close");
            }
        });
    }

    function guardarActividad() {
        var contrato = $("#txtContrato").val().toUpperCase();
        var descripcion = $("#txtActDesc").val().toUpperCase();
        var fecha_inicio = $("#txtActFechaIni").val();
        var fecha_fin = $("#txtActFechaFin").val();
        var id_estado = $("#lstActEstado").val();

        if (fecha_inicio == '' || fecha_fin == '' || id_estado == '0' || descripcion == '') {
            $("#load_act").html("Por favor ingrese todos los datos de la actividad.");
            return 0;
        }
        $("#load_act").html("");
        var parametros = {
            "contrato": contrato,
            "descripcion": descripcion.substring(0, 200),
            "fecha_inicio": fecha_inicio,
            "fecha_fin": fecha_fin,
            "id_estado": id_estado
        };

        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/GuardarActividadAction",
            type: "POST",
            async: false,
            beforeSend: function () {
                $("#load_act").html("<img src='" + basePath + "/Images/16_progress.gif'> Guardando ...");
            },
            success: function (response) {
                $("#load_act").html("");
                buscarActividades();
                $("#dialog-actividades").dialog("close");
            }
        });
    }

    function guardarPago() {
        var contrato = $("#txtContrato").val().toUpperCase();
        var fecha_entrega = $("#txtPagoFecha").val();
        var valor = $("#txtPagoValor").val();
        var id_forma_pago = $("#lstPagoForma").val();
        var comentario = $("#txtPagoDesc").val().toUpperCase();

        if (checkDecimal(valor) == false) {
            $("#load_pago").html("La cantidad asignada al valor del pago no tiene el formato correcto.");
            return 0;
        }

        if (fecha_entrega == '' || id_forma_pago == '0' || comentario == '') {
            $("#load_pago").html("Por favor ingrese todos los datos del pago.");
            return 0;
        }
        $("#load_pago").html("");
        var parametros = {
            "contrato": contrato,
            "fecha_entrega": fecha_entrega,
            "valor": valor,
            "id_forma_pago": id_forma_pago,
            "comentario": comentario.substring(0, 200)
        };

        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/GuardarPagoAction",
            type: "POST",
            async: false,
            beforeSend: function () {
                $("#load_pago").html("<img src='" + basePath + "/Images/16_progress.gif'> Guardando ...");
            },
            success: function (response) {
                $("#load_pago").html("");
                buscarPagos();
                $("#dialog-pagos").dialog("close");
            }
        });
    }

    function guardarProrroga() {
        var contrato = $("#txtContrato").val().toUpperCase();
        var descripcion = $("#txtProrrogaDesc").val().toUpperCase();
        var fecha_inicio = $("#txtProrrogaFechaIni").val();
        var fecha_fin = $("#txtProrrogaFechaFin").val();
        var valor_multa = $("#txtProrrogaValorMulta").val();

        if (checkDecimal(valor_multa) == false) {
            $("#load_prorroga").html("La cantidad asignada al valor de la multa no tiene el formato correcto.");
            return 0;
        }

        if (fecha_inicio == '' || fecha_fin == '' || descripcion == '') {
            $("#load_prorroga").html("Por favor ingrese todos los datos de la prorroga.");
            return 0;
        }
        $("#load_prorroga").html("");
        var parametros = {
            "contrato": contrato,
            "descripcion": descripcion.substring(0, 200),
            "fecha_inicio": fecha_inicio,
            "fecha_fin": fecha_fin,
            "valor_multa": valor_multa
        };

        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/GuardarProrrogaAction",
            type: "POST",
            async: false,
            beforeSend: function () {
                $("#load_prorroga").html("<img src='" + basePath + "/Images/16_progress.gif'> Guardando ...");
            },
            success: function (response) {
                $("#load_prorroga").html("");
                buscarProrrogas();
                $("#dialog-prorrogas").dialog("close");
            }
        });
    }

    function guardarGarantia() {
        var contrato = $("#txtContrato").val().toUpperCase();
        var descripcion = $("#txtGarantiaDesc").val().toUpperCase().substring(0, 200);
        var tipo = $("#lstGarantiaTipo").val();
        var aseguradora = $("#txtIdAseguradora").val();
        var monto = $("#txtGarantiaMonto").val();
        var fecha_inicio = $("#txtGarantiaFechaIni").val();
        var fecha_fin = $("#txtGarantiaFechaFin").val();
        var id_estado = "1";

        if (checkDecimal(monto) == false) {
            $("#load_garantia").html("La cantidad asignada al monto no tiene el formato correcto.");
            return 0;
        }

        if (fecha_inicio == '' || fecha_fin == '' || tipo == '0' || descripcion == '' || aseguradora == '') {
            $("#load_garantia").html("Por favor ingrese todos los datos de la garantía.");
            return 0;
        }
        $("#load_garantia").html("");
        var parametros = {
            "contrato": contrato,
            "descripcion": descripcion,
            "tipo": tipo,
            "aseguradora": aseguradora,
            "monto": monto,
            "fecha_inicio": fecha_inicio,
            "fecha_fin": fecha_fin,
            "id_estado": id_estado
        };

        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/GuardarGarantiaAction",
            type: "POST",
            async: false,
            beforeSend: function () {
                $("#load_garantia").html("<img src='" + basePath + "/Images/16_progress.gif'> Guardando ...");
            },
            success: function (response) {
                $("#load_garantia").html("");
                buscarGarantias();
                $("#dialog-garantias").dialog("close");
            }
        });
    }

    //PARA PERSONALIZAR UN BOTON DE TABLE TOOLS
    /*TableTools.BUTTONS.exportaXls = $.extend(true, TableTools.buttonBase, {
    "sNewLine": "<br>",
    "sButtonText": "Excel",
    "sDiv": "",
    "fnClick": function (nButton, oConfig) {
    $("#titulo").val("Lista de Contratos");
    $("#nombre").val("contratos");
    $("#contenido").val($("<div>").append($("#tableResultados").eq(0).clone()).html());
    $("#FormularioExportacion").submit();
    }
    });*/

    function buscar() {
        $("#mensaje_container").hide();
        $("#mensaje").html("");
        var contrato = $("#txtContrato").val().toUpperCase();
        var proceso = $("#txtProceso").val().toUpperCase();
        var fecha_susc_ini = $("#txtFechaSuscripcionIni").val();
        var fecha_susc_fin = $("#txtFechaSuscripcionFin").val();
        var fecha_ing_ini = $("#txtFechaIngresoIni").val();
        var fecha_ing_fin = $("#txtFechaIngresoFin").val();
        var tipo = $("#lstTipo").val();
        var id_estado = $("#lstEstado").val();
        var descripcion = $("#txtDescripcion").val().toUpperCase();
        var gerencia = $("#txtIdGerencia").val();

        if (contrato == '' && proceso == '' && fecha_susc_ini == '' && fecha_susc_fin == '' && fecha_ing_ini == '' && fecha_ing_fin == '' && tipo == '0' && id_estado == '0' && descripcion == '' && gerencia == '') {
            $("#mensaje_container").show();
            $("#mensaje").html("Debe ingresar un filtro para realizar la búsqueda.");
            return 0;
        }
        var parametros = {
            "contrato": contrato,
            "proceso": proceso,
            "fecha_susc_ini": fecha_susc_ini,
            "fecha_susc_fin": fecha_susc_fin,
            "fecha_ing_ini": fecha_ing_ini,
            "fecha_ing_fin": fecha_ing_fin,
            "tipo": tipo,
            "id_estado": id_estado,
            "descripcion": descripcion,
            "gerencia": gerencia
        };

        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/ListarAction",
            type: "POST",
            async: false,
            beforeSend: function () {
                $("#load").show();
            },
            success: function (response) {
                $("#resultados").show();
                $("#resultados").html(response);
                $("#load").hide();
                
                var puede_ver = tiene_permiso("VER");
                var puede_editar = tiene_permiso("EDITAR");  

                if (puede_editar == "SI" || puede_ver == "SI")
                {
                    
                    var nCloneTh = document.createElement('th');
                    var nCloneTd = document.createElement('td');

                    $('#tableResultados thead tr').each(function () {
                        this.insertBefore(nCloneTh, this.childNodes[0]);
                    });

                    $('#tableResultados tbody tr').each(function () {
                        var id = this.childNodes[0].innerHTML;
                        nCloneTd.innerHTML = "<div style='width: 100px;'>";

                        if (puede_ver == "SI")
                        {
                            nCloneTd.innerHTML += "<button title='Ver' id='view_" + id + "' class='btnView'><img style='vertical-align: top;' src='" + basePath + "/Images/nombramiento_buscar.png'></button>";
                        }
                        if (puede_editar == "SI")
                        {
                            nCloneTd.innerHTML += "<button title='Editar' id='edit_" + id + "' class='btnEdit'><img style='vertical-align: top;' src='" + basePath + "/Images/edit.png'></button>";
                        }

                        nCloneTd.innerHTML += "</div>";
                        this.insertBefore(nCloneTd.cloneNode(true), this.childNodes[0]);

                    });
                }

                $(".btnArchivo div").html("<img style='vertical-align: top;' src='" + basePath + "/Images/ico_file_prj.png'>");

                $(".btnArchivo").button();
                $(".btnArchivo").click(function () {
                    var guid_value = this.id.replace("proyecto_", "");
                    var contrato_value = $("#" + this.id).text();
                    window.location.href = basePath + "/Contratos/ConsultarArchivo?contrato=" + contrato_value + "&guid=" + guid_menu;
                });

                if (puede_ver == "SI")
                {
                    $(".btnView").button();
                    $(".btnView").click(function () {
                        var codcontrato = this.id.replace("view_", "");
                        window.location.href = basePath + "/Contratos/AgregarContrato?codcontrato=" + codcontrato + "&view=true&guid=" + guid_menu;
                    });
                }

                if (puede_editar == "SI")
                {
                    $(".btnEdit").button();
                    $(".btnEdit").click(function () {
                        var codcontrato = this.id.replace("edit_", "");
                        window.location.href = basePath + "/Contratos/AgregarContrato?codcontrato=" + codcontrato + "&guid=" + guid_menu;
                    });
                }

                toDatatable("tableResultados", "contratos")
            }
        });
    }

    function buscarAnexos() {
        var contrato = $("#txtContrato").val();
        var tipo = $("#lstBuscarCategoriaArchivo").val();

        if (tipo == '0') {
            $("#resultadosAnexos").hide();
            return 0;
        }

        var parametros = {
            "contrato": contrato,
            "tipo": tipo
        };

        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/ListarArchivosAction",
            type: "POST",
            async: true,
            beforeSend: function () {
                $("#load").show();
            },
            success: function (response) {
                var guid;
                $("#resultadosAnexos").show();
                $("#resultadosAnexos").html(response);
                $("#load").hide();

                if (viewcontrato == 'true') { } else {
                    var nCloneTh = document.createElement('th');
                    var nCloneTd = document.createElement('td');

                    $('#tableAnexos thead tr').each(function () {
                        this.insertBefore(nCloneTh, this.childNodes[0]);
                    });

                    $('#tableAnexos tbody tr').each(function () {
                        guid = this.childNodes[4].innerHTML;
                        nCloneTd.innerHTML = "<div style='width: 20px;'>";
                        nCloneTd.innerHTML += "<button title='Eliminar' id='deleteAnexo_" + guid + "' class='btnDeleteAnexo'><img style='vertical-align: top;' src='" + basePath + "/Images/delete.png'></button>";
                        nCloneTd.innerHTML += "</div>";
                        this.insertBefore(nCloneTd.cloneNode(true), this.childNodes[0]);
                    });

                    $(".btnArchivo").html("<img style='vertical-align: top;' src='" + basePath + "/Images/descargar.png'>");
                    
                    $(".btnArchivo").button();
                    $(".btnArchivo").click(function () {
                        var guid_value = this.id.replace("archivo_", "");
                        window.location.href = basePath + "/Contratos/ConsultarArchivo?contrato=" + contrato + "&guid=" + guid_value;
                    });

                    $(".btnDeleteAnexo").button();
                    $(".btnDeleteAnexo").click(function () {
                        guid = this.id.replace("deleteAnexo_", "");
                        $("#dialog-confirm").dialog({
                            autoOpen: false,
                            resizable: false,
                            height: 140,
                            modal: true,
                            buttons: {
                                "Si": function () {
                                    $(this).dialog("close");
                                    eliminarAnexo(guid);
                                },
                                "No": function () {
                                    $(this).dialog("close");
                                }
                                //Cancel: function() 
                                //{
                                //    $( this ).dialog( "close" );
                                //}
                            }
                        });

                        $("#dialog-confirm").dialog("open");

                    });
                }

                toDatatable("tableAnexos", "anexos");
            }
        });
    }

function buscarFiscalizadores() {
        var contrato = $("#txtContrato").val();
        var parametros = {
            "contrato": contrato
        };

        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/ListarFiscalizadoresAction",
            type: "POST",
            async: true,
            beforeSend: function () {
                $("#load").show();
            },
            success: function (response) {
                var guid;
                $("#resultadosFiscal").show();
                $("#resultadosFiscal").html(response);
                $("#load").hide();

                if (viewcontrato == 'true') { } else {
                    var nCloneTh = document.createElement('th');
                    var nCloneTd = document.createElement('td');

                    $('#tableFiscalizadores thead tr').each(function () {
                        this.insertBefore(nCloneTh, this.childNodes[0]);
                    });

                    $('#tableFiscalizadores tbody tr').each(function () {
                        guid = this.childNodes[4].innerHTML;
                        nCloneTd.innerHTML = "<button title='Editar' id='editFiscal_" + guid + "' class='btnEditFiscal'><img style='vertical-align: top;' src='" + basePath + "/Images/edit.png'></button>";
                        nCloneTd.innerHTML += "<button title='Eliminar' id='deleteFiscal_" + guid + "' class='btnDeleteFiscal'><img style='vertical-align: top;' src='" + basePath + "/Images/delete.png'></button>";
                        this.insertBefore(nCloneTd.cloneNode(true), this.childNodes[0]);
                    });

                    $(".btnEditFiscal").button();
                    $(".btnEditFiscal").click(function () {
                        guid = this.id.replace("editAct_", "");
                        alert("Aún no disponible editar guid = " + guid);
                    });

                    $(".btnDeleteFiscal").button();
                    $(".btnDeleteFiscal").click(function () {
                        guid = this.id.replace("deleteFiscal_", "");
                        $("#dialog-confirm").dialog({
                            autoOpen: false,
                            resizable: false,
                            height: 140,
                            modal: true,
                            buttons: {
                                "Si": function () {
                                    $(this).dialog("close");
                                    eliminarFiscalizador(guid);
                                },
                                "No": function () {
                                    $(this).dialog("close");
                                }
                                //Cancel: function() 
                                //{
                                //    $( this ).dialog( "close" );
                                //}
                            }
                        });

                        $("#dialog-confirm").dialog("open");

                    });
                }

                toDatatable("tableFiscalizadores", "fiscalizadores");

            }
        });
    }

    function buscarActividades() {
        var contrato = $("#txtContrato").val();
        var parametros = {
            "contrato": contrato
        };

        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/ListarActividadesAction",
            type: "POST",
            async: true,
            beforeSend: function () {
                $("#load").show();
            },
            success: function (response) {
                var guid;
                $("#resultadosAct").show();
                $("#resultadosAct").html(response);
                $("#load").hide();

                if (viewcontrato == 'true') { } else {
                    var nCloneTh = document.createElement('th');
                    var nCloneTd = document.createElement('td');

                    $('#tableActividades thead tr').each(function () {
                        this.insertBefore(nCloneTh, this.childNodes[0]);
                    });

                    $('#tableActividades tbody tr').each(function () {
                        guid = this.childNodes[5].innerHTML;
                        nCloneTd.innerHTML = "<button title='Editar' id='editAct_" + guid + "' class='btnEditAct'><img style='vertical-align: top;' src='" + basePath + "/Images/edit.png'></button>";
                        nCloneTd.innerHTML += "<button title='Eliminar' id='deleteAct_" + guid + "' class='btnDeleteAct'><img style='vertical-align: top;' src='" + basePath + "/Images/delete.png'></button>";
                        this.insertBefore(nCloneTd.cloneNode(true), this.childNodes[0]);
                    });

                    $(".btnEditAct").button();
                    $(".btnEditAct").click(function () {
                        guid = this.id.replace("editAct_", "");
                        alert("Aún no disponible editar guid = " + guid);
                    });

                    $(".btnDeleteAct").button();
                    $(".btnDeleteAct").click(function () {
                        guid = this.id.replace("deleteAct_", "");
                        $("#dialog-confirm").dialog({
                            autoOpen: false,
                            resizable: false,
                            height: 140,
                            modal: true,
                            buttons: {
                                "Si": function () {
                                    $(this).dialog("close");
                                    eliminarActividad(guid);
                                },
                                "No": function () {
                                    $(this).dialog("close");
                                }
                                //Cancel: function() 
                                //{
                                //    $( this ).dialog( "close" );
                                //}
                            }
                        });

                        $("#dialog-confirm").dialog("open");

                    });
                }

                toDatatable("tableActividades", "actividades");

            }
        });
    }

    function buscarPagos() {
        var contrato = $("#txtContrato").val();
        var parametros = {
            "contrato": contrato
        };

        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/ListarPagosAction",
            type: "POST",
            async: true,
            beforeSend: function () {
                $("#load").show();
            },
            success: function (response) {
                var guid;
                $("#resultadosPagos").show();
                $("#resultadosPagos").html(response);
                $("#load").hide();

                if (viewcontrato == 'true') { } else {
                    var nCloneTh = document.createElement('th');
                    var nCloneTd = document.createElement('td');

                    $('#tablePagos thead tr').each(function () {
                        this.insertBefore(nCloneTh, this.childNodes[0]);
                    });

                    $('#tablePagos tbody tr').each(function () {
                        guid = this.childNodes[5].innerHTML;
                        nCloneTd.innerHTML = "<button title='Editar' id='editPago_" + guid + "' class='btnEditPago'><img style='vertical-align: top;' src='" + basePath + "/Images/edit.png'></button>";
                        nCloneTd.innerHTML += "<button title='Eliminar' id='deletePago_" + guid + "' class='btnDeletePago'><img style='vertical-align: top;' src='" + basePath + "/Images/delete.png'></button>";
                        this.insertBefore(nCloneTd.cloneNode(true), this.childNodes[0]);
                    });

                    $(".btnEditPago").button();
                    $(".btnEditPago").click(function () {
                        guid = this.id.replace("editPago_", "");
                        alert("Aún no disponible editar guid = " + guid);
                    });

                    $(".btnDeletePago").button();
                    $(".btnDeletePago").click(function () {
                        guid = this.id.replace("deletePago_", "");
                        $("#dialog-confirm").dialog({
                            autoOpen: false,
                            resizable: false,
                            height: 140,
                            modal: true,
                            buttons: {
                                "Si": function () {
                                    $(this).dialog("close");
                                    eliminarPago(guid);
                                },
                                "No": function () {
                                    $(this).dialog("close");
                                }
                                //Cancel: function() 
                                //{
                                //    $( this ).dialog( "close" );
                                //}
                            }
                        });

                        $("#dialog-confirm").dialog("open");
                    });
                }

                toDatatable("tablePagos", "pagos");
            }
        });
    }

    function buscarProrrogas() {
        var contrato = $("#txtContrato").val();
        var parametros = {
            "contrato": contrato
        };

        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/ListarProrrogasAction",
            type: "POST",
            async: true,
            beforeSend: function () {
                $("#load").show();
            },
            success: function (response) {
                var guid;
                $("#resultadosProrrogas").show();
                $("#resultadosProrrogas").html(response);
                $("#load").hide();

                if (viewcontrato == 'true') { } else {
                    var nCloneTh = document.createElement('th');
                    var nCloneTd = document.createElement('td');

                    $('#tableProrrogas thead tr').each(function () {
                        this.insertBefore(nCloneTh, this.childNodes[0]);
                    });

                    $('#tableProrrogas tbody tr').each(function () {
                        guid = this.childNodes[5].innerHTML;
                        nCloneTd.innerHTML = "<button title='Editar' id='editProrroga_" + guid + "' class='btnEditProrroga'><img style='vertical-align: top;' src='" + basePath + "/Images/edit.png'></button>";
                        nCloneTd.innerHTML += "<button title='Eliminar' id='deleteProrroga_" + guid + "' class='btnDeleteProrroga'><img style='vertical-align: top;' src='" + basePath + "/Images/delete.png'></button>";
                        this.insertBefore(nCloneTd.cloneNode(true), this.childNodes[0]);
                    });

                    $(".btnEditProrroga").button();
                    $(".btnEditProrroga").click(function () {
                        guid = this.id.replace("editProrroga_", "");
                        alert("Aún no disponible editar guid = " + guid);
                    });

                    $(".btnDeleteProrroga").button();
                    $(".btnDeleteProrroga").click(function () {
                        guid = this.id.replace("deleteProrroga_", "");
                        $("#dialog-confirm").dialog({
                            autoOpen: false,
                            resizable: false,
                            height: 140,
                            modal: true,
                            buttons: {
                                "Si": function () {
                                    $(this).dialog("close");
                                    eliminarProrroga(guid);
                                },
                                "No": function () {
                                    $(this).dialog("close");
                                }
                                //Cancel: function() 
                                //{
                                //    $( this ).dialog( "close" );
                                //}
                            }
                        });

                        $("#dialog-confirm").dialog("open");

                    });

                }

                toDatatable("tableProrrogas", "prorrogas");

            }
        });
    }

    function buscarGarantias() {
        var contrato = $("#txtContrato").val();
        var parametros = {
            "contrato": contrato
        };

        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/ListarGarantiasAction",
            type: "POST",
            async: true,
            beforeSend: function () {
                $("#load").show();
            },
            success: function (response) {
                var guid;
                $("#resultadosGarantias").show();
                $("#resultadosGarantias").html(response);
                $("#load").hide();

                if (viewcontrato == 'true') { } else {
                    var nCloneTh = document.createElement('th');
                    var nCloneTd = document.createElement('td');

                    $('#tableGarantias thead tr').each(function () {
                        this.insertBefore(nCloneTh, this.childNodes[0]);
                    });

                    $('#tableGarantias tbody tr').each(function () {
                        guid = this.childNodes[8].innerHTML;
                        nCloneTd.innerHTML = "<button title='Editar' id='editGarantia_" + guid + "' class='btnEditGarantia'><img style='vertical-align: top;' src='" + basePath + "/Images/edit.png'></button>";
                        nCloneTd.innerHTML += "<button title='Eliminar' id='deleteGarantia_" + guid + "' class='btnDeleteGarantia'><img style='vertical-align: top;' src='" + basePath + "/Images/delete.png'></button>";
                        this.insertBefore(nCloneTd.cloneNode(true), this.childNodes[0]);
                    });

                    $(".btnEditGarantia").button();
                    $(".btnEditGarantia").click(function () {
                        guid = this.id.replace("editGarantia_", "");
                        alert("Aún no disponible editar guid = " + guid);
                    });

                    $(".btnDeleteGarantia").button();
                    $(".btnDeleteGarantia").click(function () {
                        guid = this.id.replace("deleteGarantia_", "");
                        $("#dialog-confirm").dialog({
                            autoOpen: false,
                            resizable: false,
                            height: 140,
                            modal: true,
                            buttons: {
                                "Si": function () {
                                    $(this).dialog("close");
                                    eliminarGarantia(guid);
                                },
                                "No": function () {
                                    $(this).dialog("close");
                                }
                                //Cancel: function() 
                                //{
                                //    $( this ).dialog( "close" );
                                //}
                            }
                        });

                        $("#dialog-confirm").dialog("open");

                    });
                }
                toDatatable("tableGarantias", "garantias");

            }
        });
    }

    function fnDeleteSelected() {
        var anSelected = fnGetSelected(oTable);
        if (anSelected.length !== 0) {
            oTable.fnDeleteRow(anSelected[0]);
        }
    }

    /* Get the rows which are currently selected */
    function fnGetSelected(oTableLocal) {
        return oTableLocal.$('tr.row_selected');
    }

    function consultar() {
        var contrato = $("#txtContrato").val();
        var parametros = {
            "contrato": contrato
        };

        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/ConsultarAction",
            type: "POST",
            async: false,
            beforeSend: function () {
            },
            success: function (response) {
                var xml = response;
                $("#xmlData").html(xml);
                $("#txtId").val($("#id").html());
                $("#title_contrato").html(contrato);
                $("#txtTitulo").val($("#titulo").html());
                $("#txtDescripcion").val($("#descripcion").html());
                $("#txtProceso").val($("#proceso").html());
                $("#txtMonto").val($("#monto").html());
                $("#lstTipo").val($("#tipo").html());
                $("#lstEstado").val($("#id_estado").html());

                var chk1 = $("#es_contratista").html();
                if (chk1 == "true") {
                    $('#chkEsContratista').attr('checked', true);
                }
                else {
                    $('#chkEsContratista').removeAttr('checked');
                }

                $("#txtIdContratista").val($("#id_contratista").html());
                $("#txtContratista").val($("#contratista").html());
                $("#txtIdGerencia").val($("#id_gerencia").html());
                $("#txtGerencia").val($("#gerencia").html());
                $("#txtCodAdministrador").val($("#cod_administrador").html());
                $("#txtAdministrador").val($("#administrador").html());
                $("#txtDelegado").val($("#delegado").html());
                $("#txtFechaSuscripcion").val($("#fecha_suscripcion").html());
                $("#txtFechaInicio").val($("#fecha_inicio").html());
                $("#txtFechaFin").val($("#fecha_fin").html());
                $("#txtFechaCulminacion").val($("#fecha_culminacion").html());
                $("#txtResolucion").val($("#resolucion").html());
                $("#txtFechaResolucion").val($("#fecha_resolucion").html());
                $("#txtObservacion").val($("#observacion").html());
                $("#txtRepContratista").val($("#contratista_representante").html());

                $("#txtContrato").attr('disabled', 'disabled');

                $("#actividades").show();
                $("#pagos").show();
                $("#prorrogas").show();
                $("#garantias").show();
            }
        });
    }

    function eliminarAnexo(guid) {
        var contrato = $("#txtContrato").val();
        var parametros = {
            "contrato": contrato,
            "guid": guid
        };
        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/EliminarArchivo",
            type: "POST",
            async: false,
            beforeSend: function () {
            },
            success: function (response) {
                buscarAnexos();
            }
        });
    }

    function eliminarFiscalizador(guid) {
        var parametros = {
            "guid": guid
        };
        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/EliminarFiscalizador",
            type: "POST",
            async: false,
            beforeSend: function () {
            },
            success: function (response) {
                buscarFiscalizadores();
            }
        });
    }

    function eliminarActividad(guid) {
        var parametros = {
            "guid": guid
        };
        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/EliminarActividad",
            type: "POST",
            async: false,
            beforeSend: function () {
            },
            success: function (response) {
                buscarActividades();
            }
        });
    }

    function eliminarPago(guid) {
        var parametros = {
            "guid": guid
        };
        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/EliminarPago",
            type: "POST",
            async: false,
            beforeSend: function () {
            },
            success: function (response) {
                buscarPagos();
            }
        });
    }

    function eliminarProrroga(guid) {
        var parametros = {
            "guid": guid
        };
        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/EliminarProrroga",
            type: "POST",
            async: false,
            beforeSend: function () {
            },
            success: function (response) {
                buscarProrrogas();
            }
        });
    }

    function eliminarGarantia(guid) {
        var parametros = {
            "guid": guid
        };
        $.ajax({
            data: parametros,
            url: basePath + "/Contratos/EliminarGarantia",
            type: "POST",
            async: false,
            beforeSend: function () {
            },
            success: function (response) {
                buscarGarantias();
            }
        });
    }

    function toDatatable(tablename, filename) {
        $('#' + tablename).dataTable({
            "bLengthChange": true,
            "bProcessing": true,
            "iDisplayLength": 50,
            "bJQueryUI": true,
            "sScrollX": "100%",
            "bScrollCollapse": false,
            "sScrollY": "250px",
            "bPaginate": true,
            "bDeferRender": true,
            "sPaginationType": "full_numbers",
            "oLanguage": {
                "sProcessing": "Procesando...",
                "sLengthMenu": "Mostrar _MENU_ registros",
                "sZeroRecords": "No se encontraron resultados",
                "sEmptyTable": "Ningún dato disponible en esta tabla",
                "sInfo": "Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros",
                "sInfoEmpty": "Mostrando registros del 0 al 0 de un total de 0 registros",
                "sInfoFiltered": "(filtrado de un total de _MAX_ registros)",
                "sInfoPostFix": "",
                "sSearch": "Buscar:",
                "sUrl": "",
                "sInfoThousands": ",",
                "sLoadingRecords": "Cargando...",
                "oPaginate": {
                    "sFirst": "Primero",
                    "sLast": "Último",
                    "sNext": "Siguiente",
                    "sPrevious": "Anterior"
                },
                "oAria": {
                    "sSortAscending": ": Activar para ordenar la columna de manera ascendente",
                    "sSortDescending": ": Activar para ordenar la columna de manera descendente"
                }
            },
            "sDom": '<"H"Tfr>t<"F"ipl>',
            "aoColumnDefs": [
                        { "sType": "numeric", "aTargets": [4] }
                    ],
            "aoColumnDefs": [
                        { "sWidth": "100px", "aTargets": [0] }
                    ],
            "oTableTools": {
                "aButtons": [
                            {
                                "sExtends": "copy",
                                "sButtonText": "<img alt='Copiar al portapapeles' src='" + basePath + "/Images/copy_hover.png'/> Copiar"
                            },
                            {
                                "sExtends": "xls",
                                "sButtonText": "<img alt='Exporta a Excel' src='" + basePath + "/Images/xls_hover.png'/> Excel",
                                "sDiv": "",
                                "sTitle": filename,
                                "bHeader": true,
                                "sCharSet": "utf16le",
                                "sFileName": "*.xls"
                                /*"fnCellRender": function (sValue, iColumn, nTr, iDataIndex) {
                                // Append text to column 3
                                if (iColumn === 2) {
                                return "'" + sValue + "";
                                }
                                return sValue;
                                }*/
                            },
                            {
                                "sExtends": "pdf",
                                "sButtonText": "<img alt='Exportar a PDF' src='" + basePath + "/Images/pdf_hover.png'/> PDF",
                                "sPdfOrientation": "landscape",
                                "bHeader": true,
                                "sTitle": filename
                            }
                        ]
            }
        });

    }

    function limpiarFiltros() {
        $("#txtContrato").val("");
        $("#txtProceso").val("");
        $("#txtFechaSuscripcionIni").val("");
        $("#txtFechaSuscripcionFin").val("");
        $("#txtFechaIngresoIni").val("");
        $("#txtFechaIngresoFin").val("");
        $("#lstTipo").val(0);
        $("#lstEstado").val(0);
        $("#txtDescripcion").val("");
        $("#txtGerencia").val("");
    }

    function init(activar) {
        llenarCombo("Catalogos", "ESTADOS_CONTRATO", "lstEstado", 0);
        llenarCombo("Catalogos", "TIPOS_CONTRATO", "lstTipo", 0);

        var puede_editar = tiene_permiso("EDITAR"); 

        if (activar == 0) {
            if (puede_editar == 'NO'){
                $('#btnNuevo').attr('disabled', 'disabled');
                $("#btnNuevo").hide();
            }
            return 0;
        }

        llenarCombo("Catalogos", "ESTADOS_CONTRATO", "lstActEstado", 0);
        llenarCombo("Catalogos", "FORMAS_PAGO", "lstPagoForma", 0);
        llenarCombo("CGWEB_combo", "CB", "lstGarantiaTipo", 0);

        if (viewcontrato == 'true') {
            $('.botones_accion').attr('disabled', 'disabled');
            $(".botones_accion").hide();
            $("button").hide();
            $('input').attr('readonly', 'readonly');
            $('input').attr('disabled', 'disabled');
            $('textarea').attr('readonly', 'readonly');
            $('select').attr('disabled', 'disabled');
            $('textarea').attr('disabled', 'disabled');
            $('#docArchivo').hide();
            $("#btnRegresar").show();

        }

        if (codcontrato == '') {
            $("#txtContrato").removeAttr("disabled");
            $("#fiscalizadores").hide();
            $("#actividades").hide();
            $("#pagos").hide();
            $("#prorrogas").hide();
            $("#garantias").hide();
            $("#anexos").hide();
        }
        else {
            consultar();
        }
        $("#lstBuscarCategoriaArchivo").removeAttr("disabled");
    }

    init(activeInit);
});
